package model

import "duoke/tables"

type CourseVideoReq struct {
	Id       int     `json:"id"`
	Url      string  `json:"url"`
	Title    string  `json:"title"`
	Type     int     `json:"type"`
	Acid     int     `json:"acid"`
	Duration float32 `json:"duration"`
	SubMchId string  `json:"sub_mch_id"`
	Price    float32 `json:"price"`
	Key      string  `json:"key"`
}
type CourseVideoRsp struct {
	Id               int                   `json:"id"`
	Url              string                `json:"url"`
	Title            string                `json:"title"`
	Type             int                   `json:"type"`
	Duration         float32               `json:"duration"`
	Price            float32               `json:"price"`
	LearningProgress int                   `xorm:"-" json:"learning_progress"`
	IsFeel           int                   `json:"is_feel"`
	IsBuy            int                   `xorm:"-" json:"is_buy"`
	IsPoints         int                   `json:"is_points"`
	WatchType        int                   `json:"watch_type"`
	CarmineId        int                   `json:"carmine_id"`
	ListId           int                   `json:"list_id"`
	CourseOrder      tables.Order          `xorm:"extends"`
	CourseProgress   tables.CourseProgress `xorm:"extends"`
	WhiteList        string                `xorm:"white_list"`
}
type CVRsp struct {
	Id               int     `json:"id"`
	Url              string  `json:"url"`
	Title            string  `json:"title"`
	Type             int     `json:"type"`
	Duration         float32 `json:"duration"`
	Price            float32 `json:"price"`
	LearningProgress float32 `json:"learning_progress"`
	IsBuy            int     `json:"is_buy"`
	IsPoints         int     `json:"is_points"`
	WatchType        int     `json:"watch_type"`
	CarmineId        int     `json:"carmine_id"`
	IsFeel           int     `json:"is_feel"`
}

func (CourseVideoRsp) TableName() string {
	return "course_video"
}

type VideoDuration struct {
	Duration      float64 `json:"duration"`
	TotalDuration float64 `json:"total_duration"`
	Token         string  `json:"token"`
	VideoId       int     `json:"video_id"`
}
type CourseVideoTab struct {
	Id         int     `json:"id"`
	Url        string  `json:"url"`
	Title      string  `json:"title"`
	Type       int     `json:"type"`
	Price      float64 `json:"price"`
	SubMchId   string  `json:"sub_mch_id"`
	ListId     int     `json:"list_id"`
	Acid       int     `json:"acid"`
	Duration   float64 `json:"duration"`
	GatherUrl  string  `json:"gather_url"`
	IsPoints   int     `json:"is_points"`
	GivePoints float64 `json:"give_points"`
	WatchType  int     `json:"watch_type"`
	IsFeel     int     `json:"is_feel"`
	CarmineId  int     `json:"carmine_id"`
	WhiteList  string  `json:"white_list"`
}
type ReqGivePoints struct {
	Id   int `json:"id" binding:"required" required_err:"参数缺失【id】"`
	Type int `json:"type" binding:"required" required_err:"参数缺失【id】"`
}

func (CourseVideoTab) TableName() string {
	return "course_video"
}
